Theorem Proving Languages for Verification

نویسنده

  • Jean-Pierre Jouannaud
چکیده

Verification is a hard task, but much progress has been achieved recently. Many verification problems have been shown decidable by reducing them to modelchecking finite state transition systems. Verification of infinite state transition systems has achieved tremendous progress too, by showing that many particular cases were themselves decidable, such as timed automata [1] or some forms of pushdown-automata [4]. However, the demand for verification is growing fast, and the industrial needs go far beyond the verification of decidable systems. Verification of large, complex systems for which the task is actually undecidable is therefore an issue that must be addressed carefully. There are two main requirements. The first is generality : any system should be amenable to a user-assisted treatment. The second is automaticity : decidable systems should be processed without user-assistance. There are two main approaches to the verification of complex systems. The first is based on abstraction techniques. The system is first simplified by finding a suitable abstraction making verification decidable. This approach requires finding the abstraction first, which can be done by using a toolkit of possible abstractions, or by delegating the problem to the user. In the latter case, the abstraction must be proved correct, while the correctness follows from general theorems in the first case The second is based on theorem proving techniques. The system is first described by using some appropriate language, and the description compiled into some logical formula. The property to be verified is then itself described by a formula of the same language. It is finally checked with the theorem prover. Both approaches are compatible: abstraction techniques need theorem provers to verify their correctness, and theorem provers need abstraction techniques to ease their proving task. The main difference is therefore in the emphasis. In the following, we concentrate on the second approach.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A short introduction to two approaches in formal verification of security protocols: model checking and theorem proving

In this paper, we shortly review two formal approaches in verification of security protocols; model checking and theorem proving. Model checking is based on studying the behavior of protocols via generating all different behaviors of a protocol and checking whether the desired goals are satisfied in all instances or not. We investigate Scyther operational semantics as n example of this...

متن کامل

Application Specific Higher Order Logic Theorem Proving

Theorem proving allows the formal verification of the correctness of very large systems. In order to increase the acceptance of theorem proving systems during the design process, we implemented higher order logic proof systems for ANSI-C and Verilog within a framework for application specific proof systems. Furthermore, we implement the language of the PVS theorem prover as well-established hig...

متن کامل

PLPV ’ 06 : Programming Languages meets Program Verification

I will begin by giving an overview of the CoVer project (Combining Verification Methods in Software Development, 2003-2005) at Chalmers University. This was a research project comprising both researchers in Programming Languages (especially in functional programming) and Program Verification (especially in random testing, automatic theorem proving, type theory, and proof assistants). The goal o...

متن کامل

Using Theorem Proving with Algorithmic Techniques for Large-Scale System Verification∗

We propose to write a thesis on using theorem proving with algorithmic techniques for verification of large scale computer systems. Large-scale computer systems tend to have a non-terminating computation, and reasoning about such systems involves exhibiting some temporal property of the system. For large system models, automatic verification of non-trivial temporal properties is often infeasibl...

متن کامل

Embedding ACL2 Models in End-User Applications

Formal verification, based on mechanical theorem proving, can provide unique evidence that systems are correct. Unfortunately this promise of correctness is, for most projects, not enough to justify its high cost. Since formal models and proof scripts offer few other direct benefits to system developers and managers, the idea of formal verification is abandoned. We have developed a way to embed...

متن کامل

Using theorem proving to verify properties of agent programs

We present a sound and complete logic for automatic verification of SimpleAPL programs. SimpleAPL is a fragment of agent programming languages such as 3APL and 2APL designed for the implementation of cognitive agents with beliefs, goals and plans. Our logic is a variant of PDL, and allows the specification of safety and liveness properties of agent programs. We prove a correspondence between th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004